<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/resource.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/resource.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X1VBUElfTElOVVhfUkVTT1VSQ0VfSF8w"><span class="b">_UAPI_LINUX_RESOURCE_H</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1VBUElfTElOVVhfUkVTT1VSQ0VfSF8w"><span class="b">_UAPI_LINUX_RESOURCE_H</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">time</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="5" /><span class="True">       5:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="6" /><span class="True">       6:</span> 
<a name="7" /><span class="True">       7:</span> <span class="k">/*</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * Resource control/accounting header file for linux</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> */</span>
<a name="10" /><span class="True">      10:</span> 
<a name="11" /><span class="True">      11:</span> <span class="k">/*</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * Definition of struct rusage taken from BSD 4.3 Reno</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * </span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * We don&apos;t support all of these yet, but we might as well have them....</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * Otherwise, each time we add new items, programs which depend on this</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * structure will lose.  This reduces the chances of that happening.</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> */</span>
<a name="18" /><span class="True">      18:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UlVTQUdFX1NFTEZfMA__"><span class="b">RUSAGE_SELF</span></a>    <span class="c">0</span>
<a name="19" /><span class="True">      19:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UlVTQUdFX0NISUxEUkVOXzA_"><span class="b">RUSAGE_CHILDREN</span></a>    <span class="f">(</span><span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="20" /><span class="True">      20:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UlVTQUdFX0JPVEhfMA__"><span class="b">RUSAGE_BOTH</span></a>    <span class="f">(</span><span class="f">-</span><span class="c">2</span><span class="f">)</span>        <span class="k">/* sys_wait4() uses this */</span>
<a name="21" /><span class="True">      21:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UlVTQUdFX1RIUkVBRF8w"><span class="b">RUSAGE_THREAD</span></a>    <span class="c">1</span>        <span class="k">/* only the calling thread */</span>
<a name="22" /><span class="True">      22:</span> 
<a name="23" /><span class="True">      23:</span> <span class="m">struct</span>    <span class="b">rusage</span> <span class="f">{</span>
<a name="24" /><span class="True">      24:</span>     <span class="m">struct</span> <span class="b">timeval</span> <span class="b">ru_utime</span><span class="f">;</span>    <span class="k">/* user time used */</span>
<a name="25" /><span class="True">      25:</span>     <span class="m">struct</span> <span class="b">timeval</span> <span class="b">ru_stime</span><span class="f">;</span>    <span class="k">/* system time used */</span>
<a name="26" /><span class="True">      26:</span>     <span class="m">long</span>    <span class="b">ru_maxrss</span><span class="f">;</span>        <span class="k">/* maximum resident set size */</span>
<a name="27" /><span class="True">      27:</span>     <span class="m">long</span>    <span class="b">ru_ixrss</span><span class="f">;</span>        <span class="k">/* integral shared memory size */</span>
<a name="28" /><span class="True">      28:</span>     <span class="m">long</span>    <span class="b">ru_idrss</span><span class="f">;</span>        <span class="k">/* integral unshared data size */</span>
<a name="29" /><span class="True">      29:</span>     <span class="m">long</span>    <span class="b">ru_isrss</span><span class="f">;</span>        <span class="k">/* integral unshared stack size */</span>
<a name="30" /><span class="True">      30:</span>     <span class="m">long</span>    <span class="b">ru_minflt</span><span class="f">;</span>        <span class="k">/* page reclaims */</span>
<a name="31" /><span class="True">      31:</span>     <span class="m">long</span>    <span class="b">ru_majflt</span><span class="f">;</span>        <span class="k">/* page faults */</span>
<a name="32" /><span class="True">      32:</span>     <span class="m">long</span>    <span class="b">ru_nswap</span><span class="f">;</span>        <span class="k">/* swaps */</span>
<a name="33" /><span class="True">      33:</span>     <span class="m">long</span>    <span class="b">ru_inblock</span><span class="f">;</span>        <span class="k">/* block input operations */</span>
<a name="34" /><span class="True">      34:</span>     <span class="m">long</span>    <span class="b">ru_oublock</span><span class="f">;</span>        <span class="k">/* block output operations */</span>
<a name="35" /><span class="True">      35:</span>     <span class="m">long</span>    <span class="b">ru_msgsnd</span><span class="f">;</span>        <span class="k">/* messages sent */</span>
<a name="36" /><span class="True">      36:</span>     <span class="m">long</span>    <span class="b">ru_msgrcv</span><span class="f">;</span>        <span class="k">/* messages received */</span>
<a name="37" /><span class="True">      37:</span>     <span class="m">long</span>    <span class="b">ru_nsignals</span><span class="f">;</span>        <span class="k">/* signals received */</span>
<a name="38" /><span class="True">      38:</span>     <span class="m">long</span>    <span class="b">ru_nvcsw</span><span class="f">;</span>        <span class="k">/* voluntary context switches */</span>
<a name="39" /><span class="True">      39:</span>     <span class="m">long</span>    <span class="b">ru_nivcsw</span><span class="f">;</span>        <span class="k">/* involuntary &quot; */</span>
<a name="40" /><span class="True">      40:</span> <span class="f">}</span><span class="f">;</span>
<a name="41" /><span class="True">      41:</span> 
<a name="42" /><span class="True">      42:</span> <span class="m">struct</span> <span class="b">rlimit</span> <span class="f">{</span>
<a name="43" /><span class="True">      43:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">rlim_cur</span><span class="f">;</span>
<a name="44" /><span class="True">      44:</span>     <span class="m">unsigned</span> <span class="m">long</span>    <span class="b">rlim_max</span><span class="f">;</span>
<a name="45" /><span class="True">      45:</span> <span class="f">}</span><span class="f">;</span>
<a name="46" /><span class="True">      46:</span> 
<a name="47" /><span class="True">      47:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_UkxJTTY0X0lORklOSVRZXzA_"><span class="b">RLIM64_INFINITY</span></a>        <span class="f">(</span><span class="f">~</span><span class="c">0ULL</span><span class="f">)</span>
<a name="48" /><span class="True">      48:</span> 
<a name="49" /><span class="True">      49:</span> <span class="m">struct</span> <span class="b">rlimit64</span> <span class="f">{</span>
<a name="50" /><span class="True">      50:</span>     <span class="b">__u64</span> <span class="b">rlim_cur</span><span class="f">;</span>
<a name="51" /><span class="True">      51:</span>     <span class="b">__u64</span> <span class="b">rlim_max</span><span class="f">;</span>
<a name="52" /><span class="True">      52:</span> <span class="f">}</span><span class="f">;</span>
<a name="53" /><span class="True">      53:</span> 
<a name="54" /><span class="True">      54:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UFJJT19NSU5fMA__"><span class="b">PRIO_MIN</span></a>    <span class="f">(</span><span class="f">-</span><span class="c">20</span><span class="f">)</span>
<a name="55" /><span class="True">      55:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UFJJT19NQVhfMA__"><span class="b">PRIO_MAX</span></a>    <span class="c">20</span>
<a name="56" /><span class="True">      56:</span> 
<a name="57" /><span class="True">      57:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UFJJT19QUk9DRVNTXzA_"><span class="b">PRIO_PROCESS</span></a>    <span class="c">0</span>
<a name="58" /><span class="True">      58:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UFJJT19QR1JQXzA_"><span class="b">PRIO_PGRP</span></a>    <span class="c">1</span>
<a name="59" /><span class="True">      59:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_UFJJT19VU0VSXzA_"><span class="b">PRIO_USER</span></a>    <span class="c">2</span>
<a name="60" /><span class="True">      60:</span> 
<a name="61" /><span class="True">      61:</span> <span class="k">/*</span>
<a name="62" /><span class="True">      62:</span> <span class="k"> * Limit the stack by to some sane default: root can always</span>
<a name="63" /><span class="True">      63:</span> <span class="k"> * increase this limit if needed..  8MB seems reasonable.</span>
<a name="64" /><span class="True">      64:</span> <span class="k"> */</span>
<a name="65" /><span class="True">      65:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1NUS19MSU1fMA__"><span class="b">_STK_LIM</span></a>    <span class="f">(</span><span class="c">8</span><span class="f">*</span><span class="c">1024</span><span class="f">*</span><span class="c">1024</span><span class="f">)</span>
<a name="66" /><span class="True">      66:</span> 
<a name="67" /><span class="True">      67:</span> <span class="k">/*</span>
<a name="68" /><span class="True">      68:</span> <span class="k"> * GPG2 wants 64kB of mlocked memory, to make sure pass phrases</span>
<a name="69" /><span class="True">      69:</span> <span class="k"> * and other sensitive information are never written to disk.</span>
<a name="70" /><span class="True">      70:</span> <span class="k"> */</span>
<a name="71" /><span class="True">      71:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TUxPQ0tfTElNSVRfMA__"><span class="b">MLOCK_LIMIT</span></a>    <span class="f">(</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_UEFHRV9TSVpFXzA_"><span class="b">PAGE_SIZE</span></a> <span class="f">&gt;</span> <span class="c">64</span><span class="f">*</span><span class="c">1024</span><span class="f">)</span> <span class="f">?</span> <a href="cpu.c_macros_ref.html#_UEFHRV9TSVpFXzA_"><span class="b">PAGE_SIZE</span></a> <span class="f">:</span> <span class="c">64</span><span class="f">*</span><span class="c">1024</span><span class="f">)</span>
<a name="72" /><span class="True">      72:</span> 
<a name="73" /><span class="True">      73:</span> <span class="k">/*</span>
<a name="74" /><span class="True">      74:</span> <span class="k"> * Due to binary compatibility, the actual resource numbers</span>
<a name="75" /><span class="True">      75:</span> <span class="k"> * may be different for different linux versions..</span>
<a name="76" /><span class="True">      76:</span> <span class="k"> */</span>
<a name="77" /><span class="True">      77:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">resource</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="78" /><span class="True">      78:</span> 
<a name="79" /><span class="True">      79:</span> 
<a name="80" /><span class="True">      80:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _UAPI_LINUX_RESOURCE_H */</span>
<a name="81" /><span class="True">      81:</span> </pre>
  </body>
</html>
